package com.wechat.service;

import com.swak.annotation.FluxAsync;
import com.swak.entity.Page;
import com.swak.entity.Parameters;
import com.wechat.dto.MessageDTO;
import com.wechat.msg.Msg;

/**
 * 描述
 * 
 * @author Auto Generator
 * @date 2022-10-21T23:59:27.286447600
 */
@FluxAsync
public interface MessageService {

	/**
	 * 直取
	 */
	MessageDTO get(Long id);

	/**
	 * 删除
	 */
	Integer delete(MessageDTO message);

	/**
	 * 删除 chat 相关的消息
	 */
	void deleteByChat(String talker);

	/**
	 * 分页查询
	 */
	Page<MessageDTO> page(MessageDTO query, Parameters param);

	/**
	 * 准备消息
	 * 
	 * @param message
	 * @return
	 */
	MessageDTO prepare(MessageDTO message);

	/**
	 * 发送确认
	 * 
	 * @param message
	 * @return
	 */
	MessageDTO confirm(MessageDTO message);

	/**
	 * 接收消息
	 * 
	 * @param message
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	MessageDTO receive(MessageDTO message, Msg content);
}
